home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -serious- / programming / basic / mildred / mildred.lha / lha / MildredTests.lha / MildredStructs.ascii next >
Text File  |  1999-03-07  |  4KB  |  67 lines

  1.  
  2. #c2pWindowStructSize=4 ; LSL for 16 bytes
  3. #ChunkyResourceStructSize=6 ; LSL for 64 bytes
  4. #ChunkyQueueStructSize=4 ; LSL for 16 bytes
  5. #ChunkyQueueListStructSize=4 ; LSL for 16 bytes
  6. #ChunkyTableStructSize=4 ; LSL for 16 bytes
  7.  
  8. ;c2pWindow structure, 16 bytes
  9. c2p0_Pixels:    Dc.w 0 ;0 Number of pixels per row
  10. c2p0_RowsStore: Dc.w 0 ;2 Row counter
  11. c2p0LaceOffsetA:Dc.w 0 ;4 Interlace bytes to add to source pointer in odd frames
  12. c2p0LaceOffsetB:Dc.w 0 ;6 Interlace bytes to add to dest pointer in odd frames
  13. c2p0_Pmod:      Dc.w 0 ;8 Planar line modulo
  14. c2p0_Cmod:      Dc.w 0 ;10 Chunky line modulo
  15. c2p0Lace:       Dc.b 0 ;12 Same as Row-Lacing yes/no. Tells if rowlace was on when object was created
  16. c2p0Pad0:       Dc.b 0 ;13
  17. c2p0Pad1:       Dc.w 0 ;14
  18.  
  19. ;ChunkyResource structure, 64 bytes (bitmaps and shapes)
  20. CRsrc_Width:    Dc.w 0 ;0  Width of the chunky resource in pixels (=bytes)
  21. CRsrc_Height:   Dc.w 0 ;2  Height of the chunky resource in pixels (=lines) Must be positioned directly after Width
  22. CRsrc_LineMod:  Dc.w 0 ;4  Horizontal line modulo - bytes to add at end of line to get to start of next line (usually zero)
  23. CRsrc_Clipping: Dc.b 0 ;6  Clip window active/deactive. 0=Off, <>0=On
  24. CRsrc_Wrapping: Dc.b 0 ;7  X&Y Handle-wrapping active/deactive. 0=Normal, <>0=MemoryWrap (add WrapBytes to base address)
  25. CRsrc_Data:     Dc.l 0 ;8  Pointer to move16-aligned memory containing resource's graphic
  26. CRsrc_Stencil:  Dc.l 0 ;12 Pointer to move16-aligned memory containing resource's stencil/mask/cookie
  27. CRsrc_XHandle:  Dc.w 0 ;16 X-Handle coordinate horizontal offset
  28. CRsrc_YHandle:  Dc.w 0 ;18 Y-Handle coordinate verticle offset
  29. CRsrc_DMem:     Dc.l 0 ;20 Actual base pointer of memory reserved for data (before move16-alignment)
  30. CRsrc_DBytes:   Dc.l 0 ;24 Total number of bytes in the resource's graphic mem (before align)
  31. CRsrc_SMem:     Dc.l 0 ;28 Actual base pointer of memory reserved for stencil (before move16-alignment)
  32. CRsrc_SBytes:   Dc.l 0 ;32 Total number of bytes in the resource's stencil/mask/cookie (before align)
  33. CRsrc_DHere:    Dc.b 0 ;36 Graphic data here. 0=Cludged, <>0=CRsrc_DMem is base address
  34. CRsrc_SHere:    Dc.b 0 ;37 Stencil data here. 0=Cludged, <>0=CRsrc_SMem is base address
  35. CRsrc_ClipLMod: Dc.w 0 ;38 Clip window horizontal line modulo in bytes compared with bitmap width (additional to LineMod)
  36. CRsrc_ClipLeft: Dc.w 0 ;40 Clip window's left-edge X coordinate offset
  37. CRsrc_ClipTop:  Dc.w 0 ;42 Clip window's top-edge Y coordinate offset
  38. CRsrc_ClipWidth:Dc.w 0 ;44 Clip window's width in pixels
  39. CRsrc_ClipHight:Dc.w 0 ;46 Clip window's height in pixels
  40. CRsrc_ClipBytes:Dc.l 0 ;48 Clip window bytes to add to addresses to find topleft corner of clip window
  41. CRsrc_WrapBytes:Dc.l 0 ;52 Handle bytes to add to base addresses to find topleft XHandle,Yhandle offset
  42. CRsrc_TotWidth: Dc.w 0 ;56 Width+LineMod, for faster reading of total byte width
  43. CRsrc_Pad1:     Dc.w 0 ;58
  44. CRsrc_Pad2:     Dc.l 0 ;60
  45.  
  46. ;ChunkyQueue structure, 16 bytes
  47. CQueue_LMem:    Dc.l 0 ;0  Pointer to memory used to store the list. 0=Queue doesn't exist
  48. CQueue_LBytes:  Dc.l 0 ;4  Bytes of mem reserved
  49. CQueue_MaxItems:Dc.w 0 ;8  Maximum number of items in the queue
  50. CQueue_Items:   Dc.w 0 ;10 Actual number of items in the queue
  51. CQueue_ItemAddr:Dc.l 0 ;12 Memory address of the current item
  52.  
  53. ;ChunkyQueueListItem structure, 16 bytes
  54. CQList_DestAddr:Dc.l 0 ;0  Address of top-left corner of destination
  55. CQList_OpWidth: Dc.w 0 ;4  Width of the operation in pixels or bytes
  56. CQList_OpHeight:Dc.w 0 ;6  Height of the operation in pixels, lines or rows
  57. CQList_DestLMod:Dc.l 0 ;8  Destination linemodulo to support object width
  58. CQList_XYBytes: Dc.l 0 ;12 Bytes needed to be added to base address to point to coordinates, not including wrapped origin
  59.  
  60. ;ChunkyTable structure, 16 bytes
  61. ChunkyTables
  62. CTable_LMem:    Dc.l 0 ;0  Pointer to memory used to store the list. 0=Table doesn't exist
  63. CTable_LBytes:  Dc.l 0 ;4  Bytes of mem reserved.Also maximum number of items
  64. CTable_Items:   Dc.l 0 ;8  Actual number of items in the table
  65. CTable_ItemAddr:Dc.l 0 ;12 Memory address of the current item
  66.  
  67.